#IndexError:当序列抽取超出范围的时候被触发
str = "hello,abc"
#IndexError: string index out of range
# print(str[100])

list_a = ["jack" , "tom" , "yoyo" , "nono" , "hsp"]
#IndexError: list index out of range
# print(list_a[5])

#KeyError:当在现有键集合中找不到指定的映射(字典)键时将被引发
dict_a = {"name" : "jack" , "age" : 10 , "gender" : "男"}
#KeyError: 'sex'
# print(dict_a["sex"])

#NameError:当某个局部或者全局名称为找到的时候被引发,比如你使用了一个没有一个定义的变量名
#NameError: name 'nums' is not defined
# print("nums is->" , nums)

#TypeError:当一个操作或者函数使用了类型不适当的对象时候被引发
#TypeError: can only concatenate str (not "int") to str
a = "hello"
b = 5
# print(a + b)

#ValueError : 当操作或者函数接受到具有正确类型但是值不适合的参数，将被引发
print(int("123"))
#TypeError: can only concatenate str (not "int") to str
# print(int("hello"))


#ZeroDivisionError : 当除法或者取余运算的时候第二个参数为0的时候被引发
#ZeroDivisionError: division by zero
# print(1 / 0)

#FileNotFoundError : 请求的文件或者补录不存在的时候将被引发
# f = open("C:\\Users\\Administrator\\Desktop\\今日任务.txt" , "r")

# print(f)

#AttributeError :当属性引用或者赋值失效的时候将被引发
class A:
    def hi(self):
        pass

a = A()
#AttributeError: 'A' object has no attribute 'name'
print(a.name)




